﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Eflong.Config
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute( "xsd" , "2.0.50727.3038" )]
    [System.SerializableAttribute( )]
    [System.Diagnostics.DebuggerStepThroughAttribute( )]
    [System.ComponentModel.DesignerCategoryAttribute( "code" )]
    [System.Xml.Serialization.XmlTypeAttribute( AnonymousType = true )]
    public partial class DevType
    {
        private bool enabledField;

        private int idField;

        private string nameField;

        private string aliasField;

        private string meteUpperField;

        private string meteLowField;

        private string alertUpperField;

        private string alertLowField;

        private bool customSetEnabledField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute( )]
        public bool Enabled
        {
            get
            {
                return this.enabledField;
            }
            set
            {
                this.enabledField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute( )]
        public int ID
        {
            get
            {
                return this.idField;
            }
            set
            {
                this.idField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute( )]
        public string Name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute( )]
        public string Alias
        {
            get
            {
                return this.aliasField;
            }
            set
            {
                this.aliasField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute( )]
        public string MeteUpper
        {
            get
            {
                return this.meteUpperField;
            }
            set
            {
                this.meteUpperField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute( )]
        public string MeteLow
        {
            get
            {
                return this.meteLowField;
            }
            set
            {
                this.meteLowField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute( )]
        public string AlertUpper
        {
            get
            {
                return this.alertUpperField;
            }
            set
            {
                this.alertUpperField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute( )]
        public string AlertLow
        {
            get
            {
                return this.alertLowField;
            }
            set
            {
                this.alertLowField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute( )]
        public bool CustomSetEnabled
        {
            get
            {
                return this.customSetEnabledField;
            }
            set
            {
                this.customSetEnabledField = value;
            }
        }

        [System.Xml.Serialization.XmlIgnore]
        public List<string> AliasList
        {
            get
            {
                if ( string.IsNullOrEmpty( Alias ) )
                    return new List<string>( );
                else
                    return Alias.Split( new char[ ] { ',' } , StringSplitOptions.RemoveEmptyEntries ).ToList( );
            }
        }
    }
}